package com.coderman.infosys.auth.adapter.convert;

import com.coderman.infosys.auth.adapter.vo.system.ModuleVO;
import com.coderman.infosys.auth.adapter.vo.system.request.CreateModuleRequestVO;
import com.coderman.infosys.auth.adapter.vo.system.request.UpdateModuleRequestVO;
import com.coderman.infosys.auth.domain.bo.system.ModuleBO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
* @Description:ModuleConvertervobo接口
* @Author:
* @CreateTime:2022-01-04 15:27:39
* @version v1.0
*/
@Mapper
public interface ModuleConverter{
	ModuleConverter INSTANCE = Mappers.getMapper(ModuleConverter.class);

	/**
	 *
	 * @Description:
	 * @return List<ModuleBO>
	 */
	 List<ModuleBO> voList2boList(List<ModuleVO> vOList);
	/**
	 *
	 * @Description:
	 * @return List<ModuleVO>
	 */
	 List<ModuleVO> boList2voList(List<ModuleBO> moduleBOList);
	/**
	 *
	 * @Description:
	 * @return List<ModuleBO>
	 */
	 List<ModuleBO> voList2BoList(List<UpdateModuleRequestVO> updateModuleRequestVOList);
	/**
	 *
	 * @Description:
	 * @return ModuleBO
	 */
	 ModuleBO vo2bo(UpdateModuleRequestVO updateModuleRequestVO);
	/**
	 *
	 * @Description:
	 * @return ModuleBO
	 */
	 ModuleBO vo2bo(ModuleVO moduleVO);
	/**
	 *
	 * @Description:
	 * @return ModuleVO
	 */
	 ModuleVO bo2VO(ModuleBO moduleBO);
	/**
	 *
	 * @Description:
	 * @return ModuleBO
	 */
	 ModuleBO vo2bo(CreateModuleRequestVO createModuleRequestVO);
	/**
	 *
	 * @Description:
	 * @return List<ModuleBO>
	 */
	 List<ModuleBO> VOs2BOs(List<CreateModuleRequestVO> createModuleRequestVOList);
}